import java.util.Scanner;
/*********************************************************************
 * Copyright (C) 2008 by Duncan A. Buell.  All rights reserved.
 * Interface for a class to manage process records for Lab 4.
 *
 * @author Duncan A. Buell
 * @version 1.00 2009-01-04
**/
public interface IProcessRecord
{
/*********************************************************************
 * Accessors and Mutators.
**/
/*********************************************************************
 * Method to get the <code>owner</code>
 * @return the value of <code>owner</code>
**/
  public String getOwner();

/*********************************************************************
 * Method to set the <code>owner</code>
 * @param the value of <code>owner</code>
**/
  public void setOwner(String what);

/*********************************************************************
 * Method to get the <code>pid</code>
 * @return the value of <code>pid</code>
**/
  public int getPid();

/*********************************************************************
 * Method to set the <code>pid</code>
 * @param the value of <code>pid</code>
**/
  public void setPid(int what);

/*********************************************************************
 * Method to get the <code>priority</code>
 * @return the value of <code>priority</code>
**/
  public int getPriority();

/*********************************************************************
 * Method to set the <code>priority</code>
 * @param the value of <code>priority</code>
**/
  public void setPriority(int what);

/*********************************************************************
 * General methods.
**/

/*********************************************************************
 * Method to compare the <code>priority</code> values of records.
 * We assume that the default comparison will always be of priority.
 *
 * @return -1, 0, or +1 according as the comparison goes.
**/
  public int compareTo(ProcessRecord that);

/*********************************************************************
 * Method to read the flat file from an input <code>Scanner</code>.
 * Note that this is more or less hard coded. Also that we don't
 * bulletproof the input; among other things we assume that partial
 * records don't appear in the input data.
**/
  public ProcessRecord readProcessRecord(Scanner inFile);

/*********************************************************************
 * Method to convert a record to a <code>String</code>
 * @return the <code>String</code> value of the record.
**/
  public String toString();

} // public interface IProcessRecord

